home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir34 / bkup10.zip / SETTEMP.BTM < prev    next >
Text File  |  1994-05-02  |  1KB  |  45 lines

  1. :: SETTEMP.BTM
  2. :: "Universal" procedure to determine where temporary files will be
  3. :: created. If "temp" is not defined in your AUTOEXEC.BAT file, "temp"
  4. :: will be defined as your ramdrive, if it exists. If it does not exist,
  5. :: it will be defined as your current drive.
  6. :: This procedure can be invoked from other batch files by "call". It
  7. :: seems to solve the problem with the dubious "%_lastdrive" variable
  8. :: for defining "temp", since %_lastdrive may also be a network drive,
  9. :: or a CD-ROM drive.
  10. :: Itamar Even-Zohar, itamarez@plato.tau.ac.il
  11. ::
  12.  
  13. :set_temp
  14. if "%temp"=="" gosub setramd
  15. :: (temporary drive will be defined %_lastdisk if it is not remote
  16. ::  or cd-rom drive.)
  17. if not isdir %temp (set temp=^gosub setramd)
  18. iff "%@substr[%temp,0,-1]" == "\" then
  19. set temp=%temp%
  20.  else
  21. set temp=%temp\
  22. endiff
  23. quit
  24.  
  25. :setramd
  26. :: (finds the first non-remote available drive/disk)
  27. set work=ZYXWVUTSRQPONMLKJIHGFEDC
  28. set dr=%_lastdisk
  29. :ramdloop
  30. set place=%@index[%work,%dr]
  31. if %_4ver lt 5 set n=0
  32. if %_4ver ge 5 set n=1
  33. iff %@removable[%dr] eq %n .and. %@cdrom[%dr] eq 0 .and. %@remote[%dr] eq 0 .and. %@ready[%dr] eq 1 then
  34.   set ramd=%dr
  35.   goto ramdname
  36.  else
  37.   set place=%@eval[%place+1]
  38.   set dr=%@substr[%work,%place,1]
  39. endiff
  40. if %place lt 24 goto ramdloop
  41. :ramdname
  42. set temp=%ramd:
  43. if %_batch lt 2 unset work dr ramd place n
  44. return
  45.